home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / text / FDB-Data / FDB.rexx < prev    next >
OS/2 REXX Batch file  |  1994-12-20  |  3KB  |  103 lines

  1. /*  ARexx-Script für Meeting_Pearls_II
  2.     $VER: 0.1 FDB.rexx (17-Dez-94) ©1994 ninji ;-)
  3.     Aufruf: rx fdb (if calling from REXX:)
  4.             rx FDB.rexx (other)
  5. */
  6.  
  7. temp = 'T:fdb-files'
  8.  
  9. options results
  10. parse arg source dest guide
  11.  
  12. call addlib( 'rexxsupport.library', 0, -30, 0)
  13. call addlib( 'rexxreqtools.library', 0, -30, 0)
  14.  
  15. address command 'assign >' || temp 'FindDB: exists'
  16. if (rc ~= 0) then do
  17.     rtezrequest( 'Schade ...' || '0a'x ||,
  18.         'Sie haben kein Verzeichnis FindDB:' || '0a0a'x ||,
  19.         'So sorry ...' || '0a'x ||,
  20.         'Missing assign to FindDB:')
  21.     exit
  22.     end
  23.  
  24. str = ''
  25. list = ''
  26. if open( tempfile, temp, 'R') then do
  27.     do while (~eof( tempfile))
  28.         lion = readln( tempfile)
  29.         if (lion ~= '') then do
  30.             str = substr( lion,wordindex( lion,2))
  31.             list = list || showdir( str,'FILE') || ' '
  32.             end
  33.         end
  34.     close( tempfile)
  35.     end
  36. else exit
  37.  
  38. /*  selecting .codes */
  39. list2 = ''
  40. do i = 1 for words( list)
  41.     str = word( list, i)
  42.     if (pos( '.codes', str) ~= 0) then do
  43.         str = substr( str, 1, pos( '.codes',str)-1)
  44.         if (find( str, liste2) == 0) then
  45.             list2 = list2 str
  46.         end
  47.     end
  48.  
  49. /*  sorting */
  50. list = word( list2, 1)
  51. do i = 2 to words( list2)
  52.     str = word( list2, i)
  53.     do k = 1 for words( list)
  54.         if upper( str) < upper( word( list, k)) then break
  55.         end
  56.     select
  57.         when (k > words( list)) then list = list str
  58. /*        when (k == 1) then list = str list */
  59.         otherwise list = insert( str '', list, wordindex( list, k) - 1)
  60.         end
  61.     end
  62. list    = list ''
  63.  
  64. /*  getting database */
  65. db = ''
  66. okay = 1
  67. i = 1
  68. do while (okay ~= 0 & db == '')
  69.     dblist = ''
  70.     if (i > words( list)) then i = 1
  71.     do i = i for 10 to words( list)
  72.         dblist = dblist '      ' word( list, i) || '0a'x
  73.         end
  74.     drop okay
  75.     db = rtgetstring( ,'Gefundene Datenbasen:' || '0a'x ||,
  76.         'found databases' || '0a'x ||,
  77.         dblist || 'Gewünschte Datenbasis:' || '0a'x ||,
  78.         'your selection',
  79.         ,,'Okay|»|Esc',,okay)
  80.     end
  81. if (okay == 0) then exit
  82.  
  83. drop okay
  84. find = rtgetstring( ,'Pattern für Suchbegriff:' || '0a'x ||,
  85.     '(Search pattern)',
  86.     ,,,,okay)
  87. if (~okay) then exit
  88.  
  89. options failat 60
  90. address command 'FDB >' || temp 'db=' || db find
  91. if (rc ~= 0) then do
  92.     rtezrequest( 'Entschuldigung ... Sie haben' || '0a'x ||,
  93.     '- FDB nicht installiert ?' || '0a'x ||,
  94.     '- zu wenig Speicher um Datenbank zu laden ?' || '0a0a'x ||,
  95.     'Sorry ... you' || '0a'x ||,
  96.     '- forgot to install FDB ?' || '0a'x ||,
  97.     '- own to small memory to load database ?')
  98.     exit
  99.     end
  100.  
  101. address command ':c/METATOOL' temp 'TEXT'
  102. address command 'delete' temp
  103.